package com.gem.day08.template;

/**
 * 本类用来演示Java23种设计模式之一:模板设计模式
 * 
 * 应用场景:
 * 在业务流程中,有一套固定的顶级业务流程必须遵守,但是呢
 * 流程中每一个步骤的具体细节又不用关心
 * 实际上,模板设计模式就是用来控制一套顶级业务流程,具体的
 * 的细节延后实现(子类实现)
 * 
 * @author easonsy
 * 2020年7月27日 上午9:39:02
 */
public abstract class 春晚小品 {
	abstract void 开场();

	abstract void 叙事();

	abstract void 煽情或者讲道理();

	abstract void 谢幕();

	/**
	 * 顶级业务流程
	 */
	public final void 演小品() {
		开场();
		叙事();
		煽情或者讲道理();
		谢幕();
	}
}
